THE PRESETS: A collection for the AVS v.1.2
by Tuomas Kinnunen
tuomas.kinnunen@kolumbus.fi

This file includes:
--------------------------------------------------
1. Information
2. Installing and using
3. An introduction to some effects
    3.1 SuperScope
    3.2 Movement
    3.3 DDM
4. Tips to make AVS faster
5. Version history
6. Legal stuff
---------------------------------------------------

1. INFORMATION:
----------------------------
This collection has all the presets I have previously published and some new ones. I thought it came stupid to make a new collection when the last one was finished and so I decided to put the old presets with the new ones for maximum enjoyment. If you have any of the previous collections, I suggest that you delete them because some of the old presets in this collection are modified to look better. And, please, send any commentary that comes in mind  about the collection or any preset ideas.

2. INSTALLING AND USING:
-------------------------------------------
If you are reading this file you have installed the presets. After installing the presets the installer opens this file which I hope you will read. After that open Winamp and from the visualization options (Ctrl-K) start the AVS and when the AVS window appears press the right mousebutton and you get the list of presets. In the list open The Presets and find your favourite preset!
If the files are installed to wrong directory, open the FIND-function by pressing F3 and look for "the presets" (with the quotes) and Windows looks for the folder. Where ever it is, cut it to Winamp\plugins\avs folder and try again.

3. AN INTRODUCTION TO SOME EFFECTS:
--------------------------------------------------------------
I've collected here some of the AVS effects that can be customized by a code. These include SuperScope, Movement and DDM (and Bump which I didnt include). They contain a simple guide and many examples
.
3.1 SUPERSCOPE
----------------------------
The first four examples are made by me, the other two are made by tom and justin. When modifying SuperScopes, the first thing you should do is the change the numbers and see what they do. After that, change the minus, plus, multiplication and division signs to see what they do. After you get the big picture of them you can start to make your own. 
MAKING SUPERSCOPES: 
SuperScope has four sections in its options. The init defines the SuperScopes starting point and is used whenever the windowsize is changed. The point is the heart of a SuperScope. It defines the shape of the SuperScope and how it reacts to sound. The frame is to define the SuperScopes movement. If you want it to go around or do any kind of motion the speed and direction are defined in here. The beat is to define how the SuperScope react to beat. You can change the direction an the shape when a beat is registered. 
THE SIMPLEST EXAMPLE:
x=1.5*i+-.7;y=0.5*v : This creates a line which reacts to the sound on the y-axis. If you change the x and y it creates a vertical line which reacts to beat on the x-axis. The v in the y-axis defines that it reacts to sound. If you change the v to i and put the v in the x-axis then the x-axis reacts to sound. The i means pointposition and creates the line. 
EXAMPLES: 

1.GOES FROM CORNER TO CORNER: 
Init: n=80 
Point: d=i+v*0.2;r=t+i*3.555*0.3;x=cos(r)*d;y=cos(r)*d 
Frame: t=t+0.03 

2.THE WAVE: 
Init: n=120; t=100 
Point: d=i+v*.5;r=t+i*3.56200;y=sin(r+0.3)*d;x=cos(r*i)*(d*i) 
Frame: t=t+0.05 

3.SPIRALSTAR: 
Init: n=16 
Point: d=i-v*0.2; r=t*i*3.14159*4; x=cos(r)*d; y=sin(r)*d 
Frame: t=t+0.01 

4.SPINNING TRIANGLE: 
Init: n=4 
Point: r=i*3.14159*130+t; x=cos(r/65)*0.7+sin(r)*0.4; y=sin(r/65)*0.7+cos(r)*0.3 
Frame: t=t+0.05 

5.CIRCLE: 
Init: n=800 
point: r=t+i*3.14159*4; x=cos(r)*.2+(.5*v)-.07; y=sin(r)*.5+(.2*v)+.2 
frame: t=t-0.05;n=0.9*n+80 
beat: n=50 

6.SHAKING: 
Init: n=40 
point: r=i*3.14159*16; x=cos(t+r/8)*0.7+sin(r)*0.3; y=sin(t+r/8)*0.7+cos(r)*0.3; x=x*0.9+0.1*v;y=y*0.9+0.1*v; 
frame: t=t+dt; dt=dt*0.92;
beat: dt=if(below(dt,0.005),0.05,-0.05);n=rand(10.0)*4+4;  

3.2 MOVEMENT
-----------------------------------------
Using Movement is simple. You pick a preset from the list and it does something to the preset. But making custom Movement modes is a different deal. After you learn to make a simple mode it is very easy to make your own modes. 
MAKING MOVEMENT MODES: 
Movement has only one section to define so its is more simple to use than any of the other custom effects. You can define the distance and angle and some etra parameters to define the distance and angle. 
SIMPLE EXAMPLES: 
1. d=d*2 and d=d*0.5: The numbers in the codes define the distance. The smaller the number the closer the distance gets and the bigger the number the further the distance gets. 
2. r=r*5: When used with a render object it creates the render object as a clone on the background times five. The number defines the number of the clones. 
3. t=d;d=d*t: t can be used as a substitute or an expansion for the simple code. In the example the t is defined as d. 
When you start to use these all together, you have limitless possibilities. 
More Movement examples: 
1.A CIRCLE IN THE CENTER: d=min(d,0.3) 
2.?: d=log10(d) 
3.?: d=d*acos(d*atan(d*asin(d*sin(d)))); 
4.A BALL AT THE CENTER: d=log10(d*atan(d)); d=log10(d*atan(d)) 
5.?: t=d*sigmoid(t,4.8);d=t*d 
6.WEIRD: t=d*sign(d*sigmoid(t,d));d=pow(d,t*bor(d,d*t))-t 
7.A BULGE IN THE BACK: t=d*t+rand(t);d=atan(d)*2 (+source map plle) 
8.TIMES FIVE: d=d*d;r=5*r 
9.A STYLISH CIRCLE: d=abs(0.05+log10(d)); d=atan(0.9+log10(d)); t=sin(d*2.5); d=sin(d+t*t*t); d=d*d;r=5*r 
10.TWISTING: r=r+d*d; d=(d+1.0)*0.1; 
11.PULLING INSIDE: d=d+0.005+0.01*cos(r*12); r=r+0.1*pow(cos(r),2); 
12.?: d=d*(0.92-cos(r-1.0+3.14159)*0.1); r=r+0.05; 
13.A BALL: t=d;d=abs(tan((d+0.04)*3.14159))*0.02; 
14.WHIRL: t=d; d=d*0.94;r=r+pow(t,5)*8; 
15.HOURGLASS: d=d*0.5/sin(r+32)-t*(d-t);t=t+tan(d*sqrt(d*t));

DDM
--------------------------------------------
DDM (Dynamic Distance Modifier) is pretty much like Movement, except that you cant define the angle here and that it is used to create movement and react to beat. I'm not really familiar with to most advanced movement codes, but I know how to make it react to beat. 
MAKING A DDM: 
The sections in the DDMs options are pretty much the same like in SuperScope, with the exception of point being replaced by pixel. The pixel defines how the preset is changed and you can use any Movement codes as well, but just remember that it doesnt understand the angle. 
SIMPLE EXAMPLE: 
d=d*sin(d)-1*b: This is similar to Movement codes except it has the b which defines that it reacts to beat. When a beat is registered it uses the code and creates an image defined in the code. 
DDM EXAMPLES:
1.A BULGE IN THE BACK? 
Pixel: d=d*d+sigmoid(d,3.785+d)*b-1 

2. A BOUNCING BALL 
Init: u=1;t=0 
Point: d=tan(d)+t-0.5 
Frame: t=t*0.5+b*2 

3.BULGE 
Init: u=1;t=0 
Point: d=pow(sin(d),t*3+0.25)*(1.5+t) 
Frame: t=t*0.91+b; DDM: ? 
pixel: d=d+log(0.734356)*b 

4. A BALL (when using simple) 
Init: t=1; u=0 
Pixel: d=d-bor(d*3.53,d)*b 

5. BOUNCING 
Pixel: d=cos(b)*d 

4. TIPS TO MAKE AVS FASTER:
-----------------------------------------------
WINDOW SIZE:
AVS requires a huge PC for fullscreen or big window use, so it is preferable to use a small window. I have found these two window sizes good:
1x1: Where the height is two times the main window and the width is the same with the main window. 
2x1: Where the height is a little bigger than the main windows and the widht is same. 
These two work good. 
DISPLAY OPTIONS:
Still, on older PCs even these windowsizes create problems, so there must be ways to control the AVS display. There is. Clicking the AVS window with the left mouse button opens a window where you can put the AVS elements together, but there is also the settings menu. From there open the Display options where you are given a list of options. There are three options that I focus on:
1. When un-checking the "wait for retrace" button the presets get faster, but the beatdetection is pretty much out the window. So decide whats more important, the beat or the display. 
2. The pixeldoubling option is handy. It makes all the pixels bigger so the resolution drops to half and the presets get tens of FPSs faster. Though, it still makes the presets look thicker and blurry.
3. The windowed performance is also very handy. Lowering the framerate makes the presets lower, but the memory usage is low. When lowering the framerate only little, to the first gap from the higher framerate doesnt have any effect on the display, but the memory usage gets a little lower. 
There are similar options in the fullscreen option with different resolutions that you can change, but for a good framerate on good resolutions still requires a huge PC.
THE PRESETS: 
I recommend that you always read the Misc/Comment from the presets list, if there is one. I often put there tips to make the presets faster or better looking. Also, after you have the AVS for a while you get to understand the effects and what they do, so you can modify them for maximum performance.

5. VERSION HISTORY
---------------------------
v.1.2 - Modified almost all the presets, deleted some, added one (tuomas - ball.avs). 
v.1.0 - The first... 

6. LEGAL STUFF:
---------------------------
This collection is free and may be distributed, copied, used and modified for non-commercial use. I doubt that any of the files can cause harm to your computer, but if this happens, I cant be held responsible. I still hope that the readme file would be held with the other files. 

END OF PRESETS.TXT...
